home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / jaz_clib.arc / JZGETDIR.C < prev    next >
Text File  |  1989-04-09  |  1KB  |  37 lines

  1. /*
  2. ┌────────────────────────────────────────────────────────────────────────────┐
  3. │jzgetdir.c                                     │
  4. │Return a pointer to a buffer which contains the low level directory info.   │
  5. │Including information about deletes, etc.                     │
  6. │                                         │
  7. │ (C) JazSoft Software by Jack A. Zucker (301) 794-5950              │
  8. └────────────────────────────────────────────────────────────────────────────┘
  9. */
  10.  
  11. jzgetdir( fdir , fdrive , fentries)
  12. TDIR **fdir;
  13. int fdrive;
  14. int *fentries;
  15. {
  16.   TDISKBLK wdisk;
  17.   int wstart;            /* start of directory sectors     */
  18.   TDIR *malloc();
  19.  
  20.   diskinfo(fdrive,&wdisk);        /* get disk information */
  21.  
  22.   *fentries = wdisk.numdir;       /* number of dir entries */
  23.  
  24.   /* directory starts immediately after the two copies of the FAT */
  25.   /* which are immediately after the boot sector          */
  26.  
  27.   wstart = (wdisk.sectfat << 1) + 1;
  28.  
  29.   if ( ! (*fdir = malloc(wdisk.numdir * 32))) {
  30.     printf("Insufficient Memory for directory. Aborting...");
  31.     exit(0);
  32.   }
  33.  
  34.   dosreads(fdrive,wstart,wdisk.numdir * 32 / wdisk.bytes,*fdir);
  35.  
  36. }
  37.